Search engines that enable computer users to obtain references to web pages that contain one or more specified words are now commonplace. Typically, a user can access a search engine by directing a web browser to a search engine “portal” web page. The portal page usually contains a text entry field and a button control. The user can initiate a search for web pages that contain specified query terms by typing those query terms into the text entry field and then activating the button control. When the button control is activated, the query terms are sent to the search engine, which typically returns, to the user's web browser, a dynamically generated web page that contains a list of references to other web pages, also known as a list of search results, which contain or are related to the query terms.
Although search engines generally perform well in refining and ranking relevant search results, often a user is unsatisfied with the search results generated by an initial query to a search engine, prompting the user to modify the initial query and to submit the modified query to the search engine in order to obtain a set of search results which are better matched to the user's intended search criteria. This problem is especially acute with search engines that allow a user to simultaneously search across multiple content sources at once. Examples of content sources include news repositories, Google Book Search, Yahoo Image Search, and video repositories. Due to the difference in content from these content sources, a single query often does not produce optimal search results across all content sources. Neither can a generic modification give satisfactory results in all the content source. As a result, users often submit modified queries to the content sources which are specific to a particular content source. A user's modified query to a particular content source can be very helpful in producing more relevant search results. However, currently there are no means available through which a user can create associations on a per content source basis or leverage previous query modifications for a particular content source in order to enhance the relevance of future search results.
Furthermore, a user may benefit from the query modifications that others have made. As discussed above, when a user submits an initial query to content source in a search engine and receives results that do not satisfy the user's intended search criteria, the user may modify the initial query and submit the modified query to the content source. If the search results generated from the modified query remains unsatisfactory, however, the user may not be able to come up with more ideas for further query modifications to enhance the search results. On the other hand, other users who have submitted the same initial query may have developed query modifications which would be helpful to the unsatisfied user. Nonetheless, currently there is no available means through which a user can access and leverage the query modifications that other users have made.
Finally, a user who has made query modifications on a per-module basis may wish to store such query modifications and retrieve them later on for other queries. However, currently, there is no means through which a user can store and retrieve specific query modifications for future queries.
Therefore, there is a need for a way to automatically generate modified queries for multiple searchable content sources based on previous modified queries so that previous query modifications which enhance the relevance of search results can be leveraged for future search queries.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.